In the electronic age, computers have become a common appliance. This is most evident in the business world where daily activities include using word processors and spreadsheet programs to create documents; using email and fax programs to communicate from the computer desktop; and using database tools to manage personal contacts and company resources and assets. Typically, a wide array of disparate software programs are used to create and manage the various documents and other objects (e.g., contacts, to-do items, company assets). For example, personal contacts and communication are managed in personal information management (PIM) applications while enterprise resources are managed in enterprise resource planning (ERP) systems. Initially, the programs that handled these tasks were limited, however, in recent years, integrated applications have become popular. A typical example of an integrated PIM is Microsoft Outlook, produced by Microsoft Corporation of Redmond, Wash. Outlook integrates an email client, a calendar, a task manager, and an address book. By grouping several functional areas under one common program umbrella, Microsoft is able to provide relationships between different objects within Outlook. For example, when creating an email, to quickly find an email address, a user can access their address book to obtain a list of personal contacts. This relationship, among others, is hard-coded into the software application. However, typically, the number and types of relationships are fixed, which leaves a user two choices, to either work within the application's constraints or find a different application. To improve workplace efficiency and program usability, it is desirable to provide a system that allows a user to define dynamic relationships between discrete objects within one software program or among several programs.